The background art and the object of the first aspect of the present invention are as follows.
Since the data quantity of an image data is large, when an image data is accumulated without performing compression, performance is reduced in all aspects of data usage speed and data accumulation efficiency. As a result, when accumulating and using image data, it is desirable to carry out highly efficient compression. As one of examples to carry out compression, JPEG (Joint Photographic Expert Group/ISO lEC 10918-1) is known as a method for performing image compression. In image compression by JPEG, the compression process is performed in the procedure shown below.
(1) An image is divided into 8×8 pixels blocks.
(2) For encoding, a pixel block is transformed into frequency components Qij having 8 factors in each of the x and y directions totaling 64 factors, and into a direct current component DC, using a DCT transform (Discrete Cosine Transform).
(3) In quantization, Qij, which is primarily a real number, is converted into an integer data by normalization in line with a constant rule such that Qij is multiplied by a constant number (obtained so that the result of the multiplication falls in the range between −128 and 127), and is rounded off so that its absolute value becomes small. Furthermore, Qij is picked up in zigzags to make a data train (however, when 0 is found, the subsequent data is regarded as 0).
(4) For the DC components of the Qij series, Huffman Coding, which is one type of entropy coding, is performed to produce compression data.
(5) Compression data and parameters are multiplexed in a predetermined order.
Also, in addition to the above-described method, BTC (Block Truncation Coding) method disclosed in a patent document 1 (Japanese Patent Application, First Publication No. Sho 60-087596) is known as a method for encoding blocks. This method is an encoding method that expresses blocks by 3 parameters; that is, pattern information that indicates whether each pixel color in an encoding object block is not less than the block average value; a block average value; and a value indicating the size of the gradation scale, which changes according to the pattern (for example, a variance of pixel values in the block).
However, it is commonly known that distortions (DCT noise peculiar to frequency component synthesis) occur along the edge of the blocks in the case where the data of the blocks is encoded with Discrete Cosine Transform like JPEG. On the other hand, BTC is an encoding method that reproduces the edge true to the original and can perform processing faster than the Discrete Cosine Transform can. However, because the compression ratio drops drastically when the number of used colors is increased, the number of colors is restricted when performing highly efficient compression, and the gradation comes to resemble a terraced shape, and color borders become prominent. Furthermore, since all pixels in the block are treated equally in compression by both Discrete Cosine Transform and BTC, when there is a coloration that is occurring a lot around the center, subtle colorations on the outer edge part also become similar to the color of the center, and a color difference on the border between blocks becomes prominent.
In order to solve the problem of the occurrence of distortions such as this, a number of improvement methods for these methods have been proposed. For example, a method disclosed in Patent Document 2 for improving image quality using combination of Discrete Cosine Transform and BTC has been proposed. This method performs processing in following order.
(1) An image is divided into blocks.
(2) Edge extraction is performed for each block.
(3) BTC encoding and BTC decoding are performed for the edge part, and the image in which the edge is negated is prepared.
(4) A Discrete Cosine Transform is performed for the image in which edges are removed.
When this method is used, it becomes possible to perform encoding without errors even for the gradations occurring in a block and for edges.
Patent Document 1: Japanese Unexamined Patent Application, First Publication No. Sho 60-087596
Patent Document 2: Japanese Unexamined Patent Application, First Publication No. Hei 3-192876
However, in the case that a man recognizes an image, the image must includes features, such as “boundary edge of color”, “a combination of background and lines”, and “gradation” which are characteristics for recognizing an image content. Thus, when these features are not realized in a reliable manner, a problem arises that a man is likely to misunderstand the image or the man feels that the image quality has been degraded.
As a precondition of the replacement of conventionally used compression algorithm such as JPEG, the quantity of calculations needs to be substantially the same calculation quantity as that of JPEG encoding (when this quantity increases, there will be a problem of a reduction in the number of images that can be transmitted via communication lines). However, in Japanese Unexamined Patent Publication No. H03-192876, processes such as edge extraction of the block and DCT that require a large quantity of calculations are performed and a plurality of processes have to be performed. Therefore there is a problem in that it is difficult to perform compression having excellent reproducibility in terms of the above three characteristics, which are important for an image compression that is used for accumulating or transmitting and reproducing an image while satisfying the precondition of having substantially the same quantity of calculations as that of JPEG.
An object of the first aspect of the present invention, in consideration of the above circumstances, is to provide an image compression device, an image compression method, and an image compression program that can perform a compression process without lengthening calculation process time and that can improve image quality.
The background art and the object of the second aspect of the present application are as follows.
Since the data quantity of an image data is large, when accumulated without performing compression, performance is reduced in all aspects of data usage speed and data accumulation efficiency. As a result, when accumulating and using image data, it is desirable that highly efficient compression is performed. JPEG (Joint Photographic Expert Group/ISO lEC 10918-1) is known as a method for performing image data compression. In image data compression by JPEG, the compression process is performed in the procedure shown below.    (1) An image is divided into 8×8 pixels blocks. (2) For encoding, each block is transformed into frequency components Qij having 8 factors in each of the x and y directions totaling 64 factors; and into a direct current component DC, using a DCT transform (Discrete Cosine Transform). (3) In quantization, Qij, which is primarily a real number, is converted into an integral number by normalization based on a constant law such as: Qij is multiplied by a constant number (found so that the result of the multiplication falls in the range between −128 and 127), and is rounded off so that its absolute value becomes small. Furthermore, Qij is picked up in zigzags to make it into a data train (however, when 0 is found, the subsequent data is regarded as 0). (4) For the DC component of the Qij series, Huffman Coding, which is one type of entropy coding, is performed to produce compression data. (5) Compression data and parameters are multiplexed in a predetermined order.
Also, other than this method, the BTC (Block Truncation Coding) method disclosed in the aforementioned Patent Document 1 is known as a method for encoding blocks. This method is an encoding method that expresses blocks by 3 types of parameters namely: pattern information that indicates whether or not each pixel color within the encoding target block is not less than the block average value; a block average value; and a value indicating the size of the gradation scale, which changes according to the pattern (for example, a dispersion value of pixel values in the block).
However, it is commonly known that distortions (DCT noise peculiar to frequency component synthesis) occur along the edge of the blocks in the case where the data of the blocks is encoded with Discrete Cosine Transform like JPEG. On the other hand, BTC is an encoding method that reproduces the edge true to the original and can perform processing faster than the Discrete Cosine Transform can. However, because the compression ratio drops drastically when the number of used colors is increased, the number of colors is restricted when performing highly efficient compression, and the gradation comes to resemble a terraced shape, and color borders become prominent. Furthermore, since all pixels in the block are treated equally in compression by both Discrete Cosine Transform and BTC, when there is a coloration that is occurring a lot around the center, subtle colorations on the outer edge part also become similar to the color of the center, and a color difference on the border between blocks becomes prominent.
In order to solve the problem of the occurrence of distortions, a number of improvement methods for these methods have been proposed. For example, a method disclosed in the aforementioned Patent Document 2 for improving image quality using combination of Discrete Cosine Transform and BTC has been proposed. This method performs processing in following order. (1) An image is divided into blocks. (2) Edge extraction is performed for each block. (3) BTC encoding and BTC decoding are performed for the removing the edge part, and the image having no edge is prepared. (4) A Discrete Cosine Transform is performed for the image after removing edge parts.
When this method is used, it becomes possible to perform encoding without errors even for the gradations occurring in a block and for edges.
However, in the method disclosed in Patent Document 2, there is a problem in that it is difficult to reduce noise on the border of blocks (a particular DCT noise when the frequency components are synthesized), and in addition, the processes such as edge extraction inside a block and DCT that involve a large quantity of calculation, and processing time become extremely long as a plurality of processes have to be performed.
A second aspect of the present invention takes into consideration the above circumstances, with an object of providing an image compression device, an image compression method and an image compression program that can perform a compression process in a short period of calculation processing time and can improve image quality.
The background art and the object of the third aspect of the present invention are as follows.
In a plant such as a factory, in order to monitor the operating status of equipment, a monitoring apparatus which monitors the temperature of the equipment, noise generated from the equipment, or an image of the appearance of the equipment, is used. Since this monitoring apparatus is continuously carrying out monitoring, the monitoring apparatus outputs, consecutively or intermittently consecutively over time, various kinds of monitoring data such as a temperature obtained by measuring the temperature, spectral data obtained by measuring the noise, and image data captured by a monitoring camera.
Since the quantity of these monitoring data become large, there is a problem in that, for example, a high capacity recording device is required when accumulating and managing monitoring data, and transmission of monitoring data requires a long period of time when transmitting monitoring data for data analysis to a monitoring room provided in a remote place. In order to solve such a problem, the monitoring data is compressed by encoding, and a reduction in data recording quantity and data transmission quantity can be achieved.
Various kinds of method for compressing data by encoding have been proposed. However, the measuring time of the monitoring data output from the above monitoring apparatus is not predetermined, the monitoring data is data output continuously or intermittently over 24 hours, and has a correlation in time series and its content does not significantly change. As a result, a method is needed for sequentially compressing the continuously obtained monitoring data by encoding. Data that has such characteristics is often compressed using entropy coding.
Furthermore, in the case where a motion image is processed, a principally used method is one of combining block encoding, which reduces data quantity by extracting values that indicate image characteristics for each block of a grouped number of images, as a preprocess of entropy coding.
As is commonly known, data compression by entropy coding performs a compression in which an occurrence probability of each data that is included in the data to be compressed (hereinafter, referred to as compression target data) is used, and a code of a small bit number is assigned to the data of high occurrence probability, and a code of a large bit number is assigned to the data of low occurrence probability. Here, where the occurrence probability of data x included in the compression target data is Px, Px is found by (number of data x/total number of compression target data), and the most efficient compression can be performed when a code having a bit number of log2 (1/Px) is assigned to the data x, when performing compression.
As a specific encoding method that uses the above entropy coding, arithmetic signing, Huffman Coding and Range Coder, which is a modified arithmetic coding are commonly known. The detail of the arithmetic coding is shown in Patent Document 3. Furthermore, see following three non-patent documents 1 to 3 for specific examples of each of the above encoding methods.
A table indicating an occurrence probability distribution that indicates the probability of occurrence for each datum to be used in entropy coding (hereinafter, referred to as a “occurrence probability table”) is required not only in the data encoding but also in the decoding of compressed data (hereinafter referred to as compression encoded data). Moreover, the same occurrence probability table used in encoding must be used when decoding, otherwise the compression encoded data cannot be correctly decoded. In order to have the same occurrence probability table on the encoding side and the decoding side, the following method is used for example.
[First Method]
The occurrence probability data used in encoding on the encoding side is included in the compression encoded data to be recorded or transmitted, and the decoding side uses the occurrence probability data that has been included in the compression encoded data and has been recorded or transmitted, to decode the compression encoded data.
[Second Method]
The predetermined occurrence probability table is prepared on both the encoding side and the decoding side, and the encoding side performs encoding using the pre-prepared occurrence probability table and records or transmits only the compression encoded data, and the decoding side decodes the recorded or transmitted compression encoded data using the pre-prepared occurrence probability table.
Furthermore, when performing compression encoding, unless the compression target data is compressed using the occurrence probability table that matches the occurrence probability distribution of each datum included in the compression target data, the compression ratio decreases, and the total data quantity of the compression encoded data may become greater than the total data quantity of the compression target data in some cases. As a method for preventing such a problem, the following third method has been proposed.
[Third Method]
A plurality of types of occurrence probability data are pre-prepared on both the encoding side and the decoding side, and the encoding side performs encoding using a occurrence probability table that is close to the occurrence probability distribution of the compression target data, and the information that indicates the occurrence probability data used in encoding is included in the compression encoded data and is recorded or transmitted, and the decoding side decodes the compression encoded data using the occurrence probability data indicated by the recorded or transmitted information that has been included in the compression encoded data. Refer for example to the following Patent Document 4 for details of this method.
Patent Document 3: Japanese Unexamined Patent Application, First Publication No. Sho 53-110338
Patent Document 4: Japanese Unexamined Patent Application, First Publication No. Hei 07-274171
Non-Patent Document 1: “C MAGAZINE”, August 2001, p. 111 to 116
Non-Patent Document 2: “C MAGAZINE”, September 2001, p. 95 to 100
Non-Patent Document 3: “C MAGAZINE”, July 2002, p. 16 to 35
Incidentally, in the case where the above first method is used, there has been a problem in that since all occurrence probability tables have to be included in the compression encoded data, the total data quantity to be recorded or transmitted is not significantly reduced despite a reduction in the data quantity of the compression target data, and the total data quantity to be recorded or transmitted may become greater than the data quantity of the compression target data in some cases.
Moreover, in the case where the above second method is used, the occurrence probability table does not need to be included in the compression encoded data. However there has been a problem in that the compression ratio decreases unless the occurrence probability distribution of the compression target data matches the occurrence probability table used, and the total data quantity of the compression encoded data may become greater than the total data quantity of the compression target data in some cases.
In particular, in the case where motion images are processed, although there is a relationship of data occurrence probability between the consecutive images, the above first method (for example, used in JPEG), or the above second method (for example, used in MPEG) is used.
Furthermore, in the case where the above third method is used, the occurrence probability table may only be selected from a prepared plurality of occurrence probability tables as one that is close to the occurrence probability distribution of the compression target data, and there has been a problem in that the compression ratio decreases and the total data quantity of the compression encoded data may become greater than the total data quantity of the compression target data in some cases, as is the case with the second method.
The present invention according to the third aspect has been achieved in consideration of above circumstances, and its object is to provide a method, a device, and a program for compression encoding that can achieve a reduction in the total data quantity when transmitting a consecutive plurality of compressed data, even in the case where the occurrence probability table is included in the compression encoded data, and to provide a method, a device, and a program for decoding the compression encoded data that has been encoded by the aforementioned device or the like.